home *** CD-ROM | disk | FTP | other *** search
/ IRIX Base Documentation 1998 November / IRIX 6.5.2 Base Documentation November 1998.img / usr / share / catman / u_man / cat1 / rdist.z / rdist
Text File  |  1998-10-20  |  31KB  |  661 lines

  1.  
  2.  
  3.  
  4. RRRRDDDDIIIISSSSTTTT((((1111))))                                                              RRRRDDDDIIIISSSSTTTT((((1111))))
  5.  
  6.  
  7.  
  8. NNNNAAAAMMMMEEEE
  9.      rdist - remote file distribution client program
  10.  
  11. SSSSYYYYNNNNOOOOPPPPSSSSIIIISSSS
  12.      rrrrddddiiiisssstttt [ ----DDDDFFFFnnnn ] [ ----AAAA _n_u_m ] [ ----aaaa _n_u_m ] [ ----dddd _v_a_r=_v_a_l_u_e ] [ ----llll <_l_o_c_a_l
  13.      _l_o_g_o_p_t_s> ] [ ----LLLL <_r_e_m_o_t_e _l_o_g_o_p_t_s> ] [ ----ffff _d_i_s_t_f_i_l_e ] [ ----MMMM _m_a_x_p_r_o_c ] [ ----mmmm
  14.      _h_o_s_t ] [ ----oooo_d_i_s_t_o_p_t_s ] [ ----tttt _t_i_m_e_o_u_t ] [ ----pppp <_r_d_i_s_t_d-_p_a_t_h> ] [ ----PPPP <_r_s_h-_p_a_t_h>
  15.      ] [ _n_a_m_e ... ]
  16.  
  17.      rrrrddddiiiisssstttt [ ----DDDDFFFFnnnn ] ----cccc _n_a_m_e ... [_l_o_g_i_n@]_h_o_s_t[:_d_e_s_t]
  18.  
  19.      rrrrddddiiiisssstttt ----SSSSeeeerrrrvvvveeeerrrr
  20.  
  21.      rrrrddddiiiisssstttt ----VVVV
  22.  
  23. DDDDEEEESSSSCCCCRRRRIIIIPPPPTTTTIIIIOOOONNNN
  24.      _R_d_i_s_t is a program to maintain identical copies of files over multiple
  25.      hosts. It preserves the owner, group, mode, and mtime of files if
  26.      possible and can update programs that are executing.  _R_d_i_s_t reads
  27.      commands from _d_i_s_t_f_i_l_e to direct the updating of files and/or
  28.      directories.  If _d_i_s_t_f_i_l_e is `-', the standard input is used.  If no ----ffff
  29.      option is present, the program looks first for `distfile', then
  30.      `Distfile' to use as the input.  If no names are specified on the command
  31.      line, _r_d_i_s_t will update all of the files and directories listed in
  32.      _d_i_s_t_f_i_l_e.  Otherwise, the argument is taken to be the name of a file to
  33.      be updated or the label of a command to execute. If label and file names
  34.      conflict, it is assumed to be a label.  These may be used together to
  35.      update specific files using specific commands.
  36.  
  37.      The ----cccc option forces _r_d_i_s_t to interpret the remaining arguments as a
  38.      small _d_i_s_t_f_i_l_e.  The equivalent distfile is as follows.
  39.  
  40.           ( _n_a_m_e ... ) -> [_l_o_g_i_n@]_h_o_s_t
  41.                install   [_d_e_s_t] ;
  42.  
  43.  
  44.      The ----SSSSeeeerrrrvvvveeeerrrr option is recognized to provide partial backward compatible
  45.      support for older versions of _r_d_i_s_t which used this option to put _r_d_i_s_t
  46.      into server mode.  If _r_d_i_s_t is started with the ----SSSSeeeerrrrvvvveeeerrrr command line
  47.      option, it will attempt to exec (run) the old version of _r_d_i_s_t. This will
  48.      only work if /usr/bsd/ordist is available at run time.
  49.  
  50.      _R_d_i_s_t can use either the _r_c_m_d(_3) function call or the _r_s_h(_1_c), remote
  51.      shell, command to access each target host.  The method used is selected
  52.      at compile-time.  If the _r_s_h(_1_c) method is used, then _r_d_i_s_t runs the
  53.      command
  54.  
  55.           rrrrsssshhhh _H_O_S_T ----llll _U_S_E_R _R_D_I_S_T_D
  56.  
  57.      where _H_O_S_T is the name of the target host, _U_S_E_R is the name of the user
  58.      to make the connection as and, _R_D_I_S_T_D is the rdist server command on the
  59.      target host as shown below.  If the _r_c_m_d(_3) method is used, then _r_d_i_s_t
  60.  
  61.  
  62.  
  63.                                                                         PPPPaaaaggggeeee 1111
  64.  
  65.  
  66.  
  67.  
  68.  
  69.  
  70. RRRRDDDDIIIISSSSTTTT((((1111))))                                                              RRRRDDDDIIIISSSSTTTT((((1111))))
  71.  
  72.  
  73.  
  74.      makes the connection to the target host itself and runs the _r_d_i_s_t_d server
  75.      program as shown below.  The default, and preferred method, is to use
  76.      _r_s_h(_1_c) to make the connection to target hosts.  This allows _r_d_i_s_t to be
  77.      run without being setuid to ``root''.
  78.  
  79.      On each target host _R_d_i_s_t will attempt to run the command
  80.  
  81.           _r_d_i_s_t_d -_S
  82.  
  83.      or
  84.  
  85.           <_r_d_i_s_t_d _p_a_t_h> -_S
  86.  
  87.      if the -_p option was specified.  If no ----pppp option is included, or the
  88.      <_r_d_i_s_t_d _p_a_t_h> is a simple filename, _r_d_i_s_t_d or <_r_d_i_s_t_d _p_a_t_h> must be
  89.      somewhere in the $$$$PPPPAAAATTTTHHHH of the user running rrrrddddiiiisssstttt on the remote (target)
  90.      host.
  91.  
  92. OOOOPPPPTTTTIIIIOOOONNNNSSSS
  93.      ----AAAA _n_u_m
  94.           Set the minimum number of free files (inodes) on a filesystem that
  95.           must exist for _r_d_i_s_t to update or install a file.
  96.  
  97.      ----aaaa _n_u_m
  98.           Set the minimum amount of free space (in bytes) on a filesystem that
  99.           must exist for _r_d_i_s_t to update or install a file.
  100.  
  101.      ----DDDD   Enable copious debugging messages.
  102.  
  103.      ----dddd _v_a_r=_v_a_l_u_e
  104.           Define _v_a_r to have _v_a_l_u_e.  This option is used to define or override
  105.           variable definitions in the _d_i_s_t_f_i_l_e.  _V_a_l_u_e can be the empty
  106.           string, one name, or a list of names surrounded by parentheses and
  107.           separated by tabs and/or spaces.
  108.  
  109.      ----FFFF   Do not fork any child _r_d_i_s_t processes.  All clients are updated
  110.           sequentially.
  111.  
  112.      ----ffff _d_i_s_t_f_i_l_e
  113.           Set the name of the distfile to use to be _d_i_s_t_f_i_l_e . If _d_i_s_t_f_i_l_e is
  114.           specified as ``-'' (dash) then read from standard input (stdin).
  115.  
  116.      ----llll _l_o_g_o_p_t_s
  117.           Set local logging options.  See the section MMMMEEEESSSSSSSSAAAAGGGGEEEE LLLLOOOOGGGGGGGGIIIINNNNGGGG for
  118.           details on the syntax for _l_o_g_o_p_t_s.
  119.  
  120.      ----LLLL _l_o_g_o_p_t_s
  121.           Set remote logging options.  _l_o_g_o_p_t_s is the same as for local
  122.           logging except the values are passed to the remote server (_r_d_i_s_t_d).
  123.           See the section MMMMEEEESSSSSSSSAAAAGGGGEEEE LLLLOOOOGGGGGGGGIIIINNNNGGGG for details on the syntax for
  124.           _l_o_g_o_p_t_s.
  125.  
  126.  
  127.  
  128.  
  129.                                                                         PPPPaaaaggggeeee 2222
  130.  
  131.  
  132.  
  133.  
  134.  
  135.  
  136. RRRRDDDDIIIISSSSTTTT((((1111))))                                                              RRRRDDDDIIIISSSSTTTT((((1111))))
  137.  
  138.  
  139.  
  140.      ----MMMM _n_u_m
  141.           Set the maximum number of simultaneously running child _r_d_i_s_t
  142.           processes to _n_u_m. The default is 4.
  143.  
  144.      ----mmmm _m_a_c_h_i_n_e
  145.           Limit which machines are to be updated. Multiple ----mmmm arguments can be
  146.           given to limit updates to a subset of the hosts listed in the
  147.           _d_i_s_t_f_i_l_e.
  148.  
  149.      ----nnnn   Print the commands without executing them. This option is useful for
  150.           debugging _d_i_s_t_f_i_l_e.
  151.  
  152.      ----oooo_d_i_s_t_o_p_t_s
  153.           Specify the dist options to enable.  _d_i_s_t_o_p_t_s is a comma separated
  154.           list of options which are listed below.  The valid values for
  155.           _d_i_s_t_o_p_t_s are:
  156.  
  157.           vvvveeeerrrriiiiffffyyyy
  158.                Verify that the files are up to date on all the hosts. Any
  159.                files that are out of date will be displayed but no files will
  160.                be changed nor any mail sent.
  161.  
  162.           wwwwhhhhoooolllleeee
  163.                Whole mode. The whole file name is appended to the destination
  164.                directory name.  Normally, only the last component of a name is
  165.                used when renaming files.  This will preserve the directory
  166.                structure of the files being copied instead of flattening the
  167.                directory structure. For example, rdisting a list of files such
  168.                as /_p_a_t_h/_d_i_r_1/_f_1 and /_p_a_t_h/_d_i_r_2/_f_2 to /_t_m_p/_d_i_r would create
  169.                files /_t_m_p/_d_i_r/_p_a_t_h/_d_i_r_1/_f_1 and /_t_m_p/_d_i_r/_p_a_t_h/_d_i_r_2/_f_2 instead
  170.                of /_t_m_p/_d_i_r/_d_i_r_1/_f_1 and /_t_m_p/_d_i_r/_d_i_r_2/_f_2.
  171.  
  172.           nnnnooooeeeexxxxeeeecccc
  173.                Automatically exclude executable files that are in _a._o_u_t(_5)
  174.                format from being checked or updated.
  175.  
  176.           yyyyoooouuuunnnnggggeeeerrrr
  177.                Younger mode. Files are normally updated if their _m_t_i_m_e and
  178.                _s_i_z_e (see _s_t_a_t(2)) disagree. This option causes _r_d_i_s_t not to
  179.                update files that are younger than the master copy.  This can
  180.                be used to prevent newer copies on other hosts from being
  181.                replaced.  A warning message is printed for files which are
  182.                newer than the master copy.
  183.  
  184.           ccccoooommmmppppaaaarrrreeee
  185.                Binary comparison. Perform a binary comparison and update files
  186.                if they differ rather than comparing dates and sizes.
  187.  
  188.           ffffoooolllllllloooowwww
  189.                Follow symbolic links. Copy the file that the link points to
  190.                rather than the link itself.
  191.  
  192.  
  193.  
  194.  
  195.                                                                         PPPPaaaaggggeeee 3333
  196.  
  197.  
  198.  
  199.  
  200.  
  201.  
  202. RRRRDDDDIIIISSSSTTTT((((1111))))                                                              RRRRDDDDIIIISSSSTTTT((((1111))))
  203.  
  204.  
  205.  
  206.           iiiiggggnnnnllllnnnnkkkkssss
  207.                Ignore unresolved links.  _R_d_i_s_t will normally try to maintain
  208.                the link structure of files being transferred and warn the user
  209.                if all the links cannot be found.
  210.  
  211.           cccchhhhkkkknnnnffffssss
  212.                Do not check or update files on target host that reside on NFS
  213.                filesystems.
  214.  
  215.           cccchhhhkkkkrrrreeeeaaaaddddoooonnnnllllyyyy
  216.                Enable check on target host to see if a file resides on a
  217.                read-only filesystem.  If a file does, then no checking or
  218.                updating of the file is attempted.
  219.  
  220.           cccchhhhkkkkssssyyyymmmm
  221.                If the target on the remote host is a symbolic link, but is not
  222.                on the master host, the remote target will be left a symbolic
  223.                link.  This behavior is generally considered a bug in the
  224.                original version of _r_d_i_s_t, but is present to allow
  225.                compatibility with older versions.
  226.  
  227.           qqqquuuuiiiieeeetttt
  228.                Quiet mode. Files that are being modified are normally printed
  229.                on standard output. This option suppresses this.
  230.  
  231.           rrrreeeemmmmoooovvvveeee
  232.                Remove extraneous files. If a directory is being updated, any
  233.                files that exist on the remote host that do not exist in the
  234.                master directory are removed.  This is useful for maintaining
  235.                truly identical copies of directories.
  236.  
  237.           nnnnoooocccchhhhkkkkoooowwwwnnnneeeerrrr
  238.                Do not check user ownership of files that already exist.  The
  239.                file ownership is only set when the file is updated.
  240.  
  241.           nnnnoooocccchhhhkkkkggggrrrroooouuuupppp
  242.                Do not check group ownership of files that already exist.  The
  243.                file ownership is only set when the file is updated.
  244.  
  245.           nnnnoooocccchhhhkkkkmmmmooooddddeeee
  246.                Do not check file and directory permission modes.  The
  247.                permission mode is only set when the file is updated.
  248.  
  249.           nnnnooooddddeeeesssscccceeeennnndddd
  250.                Do not descend into a directory.  Normally _r_d_i_s_t will
  251.                recursively check directories.  If this option is enabled, then
  252.                any files listed in the file list in the distfile that are
  253.                directories are not recursively scanned.  Only the existence,
  254.                ownership, and mode of the directory are checked.
  255.  
  256.  
  257.  
  258.  
  259.  
  260.  
  261.                                                                         PPPPaaaaggggeeee 4444
  262.  
  263.  
  264.  
  265.  
  266.  
  267.  
  268. RRRRDDDDIIIISSSSTTTT((((1111))))                                                              RRRRDDDDIIIISSSSTTTT((((1111))))
  269.  
  270.  
  271.  
  272.           nnnnuuuummmmcccchhhhkkkkggggrrrroooouuuupppp
  273.                Use the numeric group id (gid) to check group ownership instead
  274.                of the group name.
  275.  
  276.           nnnnuuuummmmcccchhhhkkkkoooowwwwnnnneeeerrrr
  277.                Use the numeric user id (uid) to check user ownership instead
  278.                of the user name.
  279.  
  280.           ssssaaaavvvveeeettttaaaarrrrggggeeeettttssss
  281.                Save files that are updated instead of removing them.  Any
  282.                target file that is updates is first rename from ffffiiiilllleeee to
  283.                ffffiiiilllleeee....OOOOLLLLDDDD....
  284.  
  285.      ----pppp <_r_d_i_s_t_d-_p_a_t_h>
  286.           Set the path where the rdistd server is searched for on the target
  287.           host.
  288.  
  289.      ----PPPP <_r_s_h-_p_a_t_h>
  290.           Set the path to the _r_s_h(_1_c) command.  The _r_s_h-_p_a_t_h may be a colon
  291.           seperated list of possible pathnames.  In this case, the first
  292.           component of the path to exist is used.  i.e.
  293.           ////uuuussssrrrr////uuuuccccbbbb////rrrrsssshhhh::::////uuuussssrrrr////bbbbiiiinnnn////rrrreeeemmmmsssshhhh ,,,, ////uuuussssrrrr////bbbbssssdddd////rrrrsssshhhh....
  294.  
  295.      ----tttt _t_i_m_e_o_u_t
  296.           Set the timeout period (in seconds) for waiting for responses from
  297.           the remote _r_d_i_s_t server.  The default is 900 seconds.
  298.  
  299.      ----VVVV   Print version information and exit.
  300.  
  301. MMMMEEEESSSSSSSSAAAAGGGGEEEE LLLLOOOOGGGGGGGGIIIINNNNGGGG
  302.      _R_d_i_s_t uses a collection of predefined message ffffaaaacccciiiilllliiiittttiiiieeeessss that each
  303.      contain a list of message ttttyyyyppppeeeessss specifying which types of messages to
  304.      send to that _f_a_c_i_l_i_t_y. The local client (_r_d_i_s_t) and the remote server
  305.      (_r_d_i_s_t_d) each maintain their own copy of what types of messages to log to
  306.      what facilities.
  307.  
  308.      The ----llll _l_o_g_o_p_t_s option to _r_d_i_s_t tells _r_d_i_s_t what logging options to use
  309.      locally.  The ----LLLL _l_o_g_o_p_t_s option to _r_d_i_s_t tells _r_d_i_s_t what logging options
  310.      to pass to the remote _r_d_i_s_t_d server.
  311.  
  312.      The form of _l_o_g_o_p_t_s should be of form
  313.  
  314.           _f_a_c_i_l_i_t_y====_t_y_p_e_s::::_f_a_c_i_l_i_t_y====_t_y_p_e_s...
  315.  
  316.      The valid facility names are:
  317.  
  318.           ssssttttddddoooouuuutttt
  319.                Messages to standard output.
  320.  
  321.           ffffiiiilllleeee Log to a file.  To specify the file name, use the format
  322.                ``ffffiiiilllleeee====_f_i_l_e_n_a_m_e====_t_y_p_e_s''.  e.g.
  323.                ````````ffffiiiilllleeee====////ttttmmmmpppp////rrrrddddiiiisssstttt....lllloooogggg====aaaallllllll,,,,ddddeeeebbbbuuuugggg''''''''....
  324.  
  325.  
  326.  
  327.                                                                         PPPPaaaaggggeeee 5555
  328.  
  329.  
  330.  
  331.  
  332.  
  333.  
  334. RRRRDDDDIIIISSSSTTTT((((1111))))                                                              RRRRDDDDIIIISSSSTTTT((((1111))))
  335.  
  336.  
  337.  
  338.           ssssyyyysssslllloooogggg
  339.                Use the _s_y_s_l_o_g_d(_8) facility.
  340.  
  341.           nnnnoooottttiiiiffffyyyy
  342.                Use the internal _r_d_i_s_t nnnnoooottttiiiiffffyyyy facility.  This facility is used
  343.                in conjunction with the nnnnoooottttiiiiffffyyyy keyword in a _d_i_s_t_f_i_l_e to specify
  344.                what messages are mailed to the nnnnoooottttiiiiffffyyyy address.
  345.  
  346.      _t_y_p_e_s should be a comma separated list of message types.  Each message
  347.      type specified enables that message level.  This is unlike the _s_y_s_l_o_g(_3)
  348.      system facility which uses an ascending order scheme.  The following are
  349.      the valid _t_y_p_e_s:
  350.  
  351.           cccchhhhaaaannnnggggeeee
  352.                Things that change.  This includes files that are installed or
  353.                updated in some way.
  354.  
  355.           iiiinnnnffffoooo General information.
  356.  
  357.           nnnnoooottttiiiicccceeee
  358.                General info about things that change.  This includes things
  359.                like making directories which are needed in order to install a
  360.                specific target, but which are not explicitly specified in the
  361.                _d_i_s_t_f_i_l_e.
  362.  
  363.           nnnneeeerrrrrrrroooorrrr
  364.                Normal errors that are not fatal.
  365.  
  366.           ffffeeeerrrrrrrroooorrrr
  367.                Fatal errors.
  368.  
  369.           wwwwaaaarrrrnnnniiiinnnngggg
  370.                Warnings about errors which are not as serious as nnnneeeerrrrrrrroooorrrr type
  371.                messages.
  372.  
  373.           vvvveeeerrrrbbbboooosssseeee
  374.                Detailed status messages.
  375.  
  376.           ddddeeeebbbbuuuugggg
  377.                Debugging information.
  378.  
  379.           aaaallllllll  All but debug messages.
  380.  
  381.      Here is a sample command line option:
  382.  
  383.           -l stdout=all:syslog=change,notice:file=/tmp/rdist.log=all
  384.  
  385.      This entry will set local message logging to have all but debug messages
  386.      sent to standard output, change and notice messages will be sent to
  387.      _s_y_s_l_o_g(_3), and all messages will be written to the file ////ttttmmmmpppp////rrrrddddiiiisssstttt....lllloooogggg....
  388.  
  389.  
  390.  
  391.  
  392.  
  393.                                                                         PPPPaaaaggggeeee 6666
  394.  
  395.  
  396.  
  397.  
  398.  
  399.  
  400. RRRRDDDDIIIISSSSTTTT((((1111))))                                                              RRRRDDDDIIIISSSSTTTT((((1111))))
  401.  
  402.  
  403.  
  404. DDDDIIIISSSSTTTTFFFFIIIILLLLEEEESSSS
  405.      The _d_i_s_t_f_i_l_e contains a sequence of entries that specify the files to be
  406.      copied, the destination hosts, and what operations to perform to do the
  407.      updating. Each entry has one of the following formats.
  408.  
  409.           <variable name> `=' <name list>
  410.           [ label: ] <source list> `->' <destination list> <command list>
  411.           [ label: ] <source list> `::' <time_stamp file> <command list>
  412.  
  413.      The first format is used for defining variables.  The second format is
  414.      used for distributing files to other hosts.  The third format is used for
  415.      making lists of files that have been changed since some given date.  The
  416.      _s_o_u_r_c_e _l_i_s_t specifies a list of files and/or directories on the local
  417.      host which are to be used as the master copy for distribution.  The
  418.      _d_e_s_t_i_n_a_t_i_o_n _l_i_s_t is the list of hosts to which these files are to be
  419.      copied.  Each file in the source list is added to a list of changes if
  420.      the file is out of date on the host which is being updated (second
  421.      format) or the file is newer than the time stamp file (third format).
  422.  
  423.      Labels are optional. They are used to identify a command for partial
  424.      updates.
  425.  
  426.      Newlines, tabs, and blanks are only used as separators and are otherwise
  427.      ignored. Comments begin with `#' and end with a newline.
  428.  
  429.      Variables to be expanded begin with `$' followed by one character or a
  430.      name enclosed in curly braces (see the examples at the end).
  431.  
  432.      The source and destination lists have the following format:
  433.  
  434.           <name>
  435.      or
  436.           `(' <zero or more names separated by white-space> `)'
  437.  
  438.      These simple lists can be modified by using one level of set addition,
  439.      subtraction, or intersection like this:
  440.  
  441.           list '-' list
  442.      or
  443.           list '+' list
  444.      or
  445.           list '&' list
  446.  
  447.      If additional modifications are needed (e.g., ``all servers and client
  448.      machines except for the OSF/1 machines'') then the list will have to be
  449.      explicitly constructed in steps using "temporary" variables.
  450.  
  451.      The shell meta-characters `[', `]', `{', `}', `*', and `?'  are
  452.      recognized and expanded (on the local host only) in the same way as
  453.      _c_s_h(1).  They can be escaped with a backslash.  The `~' character is also
  454.      expanded in the same way as _c_s_h but is expanded separately on the local
  455.      and destination hosts.  When the ----oooo_w_h_o_l_e option is used with a file name
  456.  
  457.  
  458.  
  459.                                                                         PPPPaaaaggggeeee 7777
  460.  
  461.  
  462.  
  463.  
  464.  
  465.  
  466. RRRRDDDDIIIISSSSTTTT((((1111))))                                                              RRRRDDDDIIIISSSSTTTT((((1111))))
  467.  
  468.  
  469.  
  470.      that begins with `~', everything except the home directory is appended to
  471.      the destination name.  File names which do not begin with `/' or `~' use
  472.      the destination user's home directory as the root directory for the rest
  473.      of the file name.
  474.  
  475.      The command list consists of zero or more commands of the following
  476.      format.
  477.  
  478.           `install'     <options>    opt_dest_name `;'
  479.           `notify'      <name list>  `;'
  480.           `except'      <name list>  `;'
  481.           `except_pat'  <pattern list>`;'
  482.           `special'     <name list>  string `;'
  483.           `cmdspecial'  <name list>  string `;'
  484.  
  485.  
  486.      The _i_n_s_t_a_l_l command is used to copy out of date files and/or directories.
  487.      Each source file is copied to each host in the destination list.
  488.      Directories are recursively copied in the same way.  _O_p_t__d_e_s_t__n_a_m_e is an
  489.      optional parameter to rename files.  If no _i_n_s_t_a_l_l command appears in the
  490.      command list or the destination name is not specified, the source file
  491.      name is used.  Directories in the path name will be created if they do
  492.      not exist on the remote host.  The ----oooo_d_i_s_t_o_p_t_s option as specified above
  493.      under OOOOPPPPTTTTIIIIOOOONNNNSSSS,,,, has the same semantics as on the command line except they
  494.      only apply to the files in the source list.  The login name used on the
  495.      destination host is the same as the local host unless the destination
  496.      name is of the format ``login@host".
  497.  
  498.      The _n_o_t_i_f_y command is used to mail the list of files updated (and any
  499.      errors that may have occurred) to the listed names.  If no `@' appears in
  500.      the name, the destination host is appended to the name (e.g., name1@host,
  501.      name2@host, ...).
  502.  
  503.      The _e_x_c_e_p_t command is used to update all of the files in the source list
  504.      eeeexxxxcccceeeepppptttt for the files listed in _n_a_m_e _l_i_s_t.  This is usually used to copy
  505.      everything in a directory except certain files.
  506.  
  507.      The _e_x_c_e_p_t__p_a_t command is like the _e_x_c_e_p_t command except that _p_a_t_t_e_r_n
  508.      _l_i_s_t is a list of regular expressions (see _e_d(1) for details).  If one of
  509.      the patterns matches some string within a file name, that file will be
  510.      ignored.  Note that since `\' is a quote character, it must be doubled to
  511.      become part of the regular expression.  Variables are expanded in _p_a_t_t_e_r_n
  512.      _l_i_s_t but not shell file pattern matching characters.  To include a `$',
  513.      it must be escaped with `\'.
  514.  
  515.      The _s_p_e_c_i_a_l command is used to specify _s_h(1) commands that are to be
  516.      executed on the remote host after the file in _n_a_m_e _l_i_s_t is updated or
  517.      installed.  If the _n_a_m_e _l_i_s_t is omitted then the shell commands will be
  518.      executed for every file updated or installed. _S_t_r_i_n_g starts and ends with
  519.      `"' and can cross multiple lines in _d_i_s_t_f_i_l_e. Multiple commands to the
  520.      shell should be separated by `;'.  Commands are executed in the user's
  521.      home directory on the host being updated.  The _s_p_e_c_i_a_l command can be
  522.  
  523.  
  524.  
  525.                                                                         PPPPaaaaggggeeee 8888
  526.  
  527.  
  528.  
  529.  
  530.  
  531.  
  532. RRRRDDDDIIIISSSSTTTT((((1111))))                                                              RRRRDDDDIIIISSSSTTTT((((1111))))
  533.  
  534.  
  535.  
  536.      used to rebuild private databases, etc.  after a program has been
  537.      updated.  The following environment variables are set for each _s_p_e_c_i_a_l
  538.      command:
  539.  
  540.      FFFFIIIILLLLEEEE The full pathname of the local file that was just updated.
  541.  
  542.      RRRREEEEMMMMFFFFIIIILLLLEEEE
  543.           The full pathname of the remote file that was just updated.
  544.  
  545.      BBBBAAAASSSSEEEEFFFFIIIILLLLEEEE
  546.           The basename of the remote file that was just updated.
  547.  
  548.      The _c_m_d_s_p_e_c_i_a_l command is similar to the _s_p_e_c_i_a_l command, except it is
  549.      executed only when the entire command is completed instead of after each
  550.      file is updated.  The list of files is placed in the environment variable
  551.      $$$$FFFFIIIILLLLEEEESSSS.... Each file name in $$$$FFFFIIIILLLLEEEESSSS is separated by a `:' (semi-colon).
  552.  
  553.      If a hostname ends in a ``+'' (plus sign), then the plus is stripped off
  554.      and NFS checks are disabled.  This is equivalent to disabling the
  555.      ----oooo_c_h_k_n_f_s option just for this one host.
  556.  
  557.      The following is a small example.
  558.  
  559.           HOSTS = ( matisse root@arpa)
  560.  
  561.           FILES = ( /bin /lib /usr/bin /usr/games
  562.                         /usr/include/{*.h,{stand,sys,vax*,pascal,machine}/*.h}
  563.                         /usr/lib /usr/man/man? /usr/ucb /usr/local/rdist )
  564.  
  565.           EXLIB = ( Mail.rc aliases aliases.dir aliases.pag crontab dshrc
  566.                         sendmail.cf sendmail.fc sendmail.hf sendmail.st uucp vfont )
  567.  
  568.           ${FILES} -> ${HOSTS}
  569.                         install -oremove,chknfs ;
  570.                         except /usr/lib/${EXLIB} ;
  571.                         except /usr/games/lib ;
  572.                         special /usr/lib/sendmail "/usr/lib/sendmail -bz" ;
  573.  
  574.           srcs:
  575.           /usr/src/bin -> arpa
  576.                         except_pat ( \\.o\$ /SCCS\$ ) ;
  577.  
  578.           IMAGEN = (ips dviimp catdvi)
  579.  
  580.           imagen:
  581.           /usr/local/${IMAGEN} -> arpa
  582.                         install /usr/local/lib ;
  583.                         notify ralph ;
  584.  
  585.           ${FILES} :: stamp.cory
  586.                         notify root@cory ;
  587.  
  588.  
  589.  
  590.  
  591.                                                                         PPPPaaaaggggeeee 9999
  592.  
  593.  
  594.  
  595.  
  596.  
  597.  
  598. RRRRDDDDIIIISSSSTTTT((((1111))))                                                              RRRRDDDDIIIISSSSTTTT((((1111))))
  599.  
  600.  
  601.  
  602. EEEENNNNVVVVIIIIRRRROOOONNNNMMMMEEEENNNNTTTT
  603.      TMPDIR
  604.           Name of temporary directory to use.  Default is ////ttttmmmmpppp....
  605.  
  606. FFFFIIIILLLLEEEESSSS
  607.      distfile       - input command file
  608.      $TMPDIR/rdist* - temporary file for update lists
  609.  
  610. SSSSEEEEEEEE AAAALLLLSSSSOOOO
  611.      sssshhhh((((1111)))),,,, ccccsssshhhh((((1111)))),,,, oooorrrrddddiiiisssstttt((((1111)))),,,, ssssttttaaaatttt((((2222)))),,,, rrrrsssshhhh((((1111cccc)))),,,, rrrrccccmmmmdddd((((3333))))
  612.  
  613. DDDDIIIIAAAAGGGGNNNNOOOOSSSSTTTTIIIICCCCSSSS
  614. NNNNOOOOTTTTEEEESSSS
  615.      If the basename of a file  (the last component in the pathname) is ".",
  616.      then rrrrddddiiiisssstttt assumes the remote (destination) name is a directory.  i.e.
  617.      ////ttttmmmmpppp////.... means that ////ttttmmmmpppp should be a directory on the remote host.
  618.  
  619.      The following options are still recognized for backwards compatibility:
  620.  
  621.           -v -N -O -q -b -r -R -s -w -y -h -i -x
  622.  
  623.      Rdist will not work with clients that are running an old (pre-5.3)
  624.      version of rdist.  The old version ordist(1) is retained for backwards
  625.      compatibility.  You should use ordist if you are pushing files to old
  626.      clients.
  627.  
  628.  
  629. BBBBUUUUGGGGSSSS
  630.      Source files must reside on the local host where rdist is executed.
  631.  
  632.      Variable expansion only works for name lists; there should be a general
  633.      macro facility.
  634.  
  635.      _R_d_i_s_t aborts on files which have a negative mtime (before Jan 1, 1970).
  636.  
  637.      If a hardlinked file is listed more than once in the same target, then
  638.      _r_d_i_s_t will report missing links.  Only one instance of a link should be
  639.      listed in each target.
  640.  
  641.  
  642.  
  643.  
  644.  
  645.  
  646.  
  647.  
  648.  
  649.  
  650.  
  651.  
  652.  
  653.  
  654.  
  655.  
  656.  
  657.                                                                        PPPPaaaaggggeeee 11110000
  658.  
  659.  
  660.  
  661.